interfaces/builtin: add xdg-portal-permission-store interface - #17029
Conversation
|
Related to: #15338 |
|
Thu Jun 11 11:53:12 UTC 2026 Failures:Preparing:
Executing:
Restoring:
Skipped tests from snapd-testing-skipIf you wish to have any of the below tests run in your PR, in your PR description, add 'unskip:' followed by a copy-and-pasted list (without variants) of the below tests you wish to run (unskip plus test list must be valid yaml)
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #17029 +/- ##
==========================================
- Coverage 79.18% 79.12% -0.06%
==========================================
Files 1374 1387 +13
Lines 193037 193283 +246
Branches 2466 2466
==========================================
+ Hits 152855 152937 +82
- Misses 30994 31160 +166
+ Partials 9188 9186 -2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
It seems like the 4 failing checks are flakes? They don't appear related to this PR. |
|
Pinging for snapd team review |
olivercalder
left a comment
There was a problem hiding this comment.
Generally LGTM, I'm wondering if there's a way to test that a snap with this interface can actually interact with the PermissionStore as expected.
6e2d44b to
a4251a0
Compare
olivercalder
left a comment
There was a problem hiding this comment.
This is looking great, nice job on the spread test. I'm almost +1, the one blocker for me is making sure we exercise that each of the commands in the test snap fails when the interface is disconnected.
c3b35cb to
f1cc07c
Compare
olivercalder
left a comment
There was a problem hiding this comment.
Nice, the changes look excellent, thank you!
By the way, we generally avoid amending commits and force-pushing (or even rebasing on master without good reason), as it makes it more difficult to track what changes between reviews. We will squash merge the PR after it's approved, so we'd much rather have a rich commit history during the review process, and we can always clean it up when merging.
Thanks Oliver, I'll do that in the future here. I have disabled Arch systems in the new test with the latest commit. There appears to be AppArmor mismatches there. |
|
Gentle ping. I don't think any of the CI failures are related to my changes. |
|
@quine00 can you rebase on latest master to include a fix for one of the failing tests? |
Provide a dedicated super-privileged interface for xdg-desktop-portal PermissionStore access. Also add a spread test that starts a fake PermissionStore service on the session bus and verifies that a confined snap can only talk to it when xdg-portal-permission-store is connected.
There appears to be an issue with the version of AppArmor in the Arch images. Disable for now. ``` 2026-06-04 04:49:00 Error executing openstack:arch-linux-64:tests/main/interfaces-xdg-portal-permission-store (jun040444-442035) : ----- + apps='ping introspect get-all test' + echo 'The interface is initially disconnected' The interface is initially disconnected + snap interfaces -i xdg-portal-permission-store + MATCH -- '- +test-snapd-xdg-portal-permission-store:xdg-portal-permission-store' 'snap interfaces' is deprecated; use 'snap connections'. + echo 'Without the connection, each PermissionStore access is denied' Without the connection, each PermissionStore access is denied + for app in $apps + not tests.session -u test exec test-snapd-xdg-portal-permission-store.ping ok ```
Done, thanks for looking. |
|
Looking at the CI failures,
|
Provide a dedicated super-privileged interface for xdg-desktop-portal PermissionStore access